<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 生成器就是一个特殊的函数

    // 生成器要有一个 * 符号
    function* gen() {
      console.log(111);
      yield '一只没有耳朵'    // yield 相当于是分隔符， gen()函数里面的函数会暂停执行
      console.log(222);
      yield '一只没有眼睛'
      console.log(333);
      yield '真奇怪'
      console.log(444);
    }
    let iterator = gen();
    console.log(iterator);    // 控制台打印一个函数

    iterator.next();    // 调用 next() 函数才会打印
    iterator.next();     // 每次调用一个 next() 函数，yield 就会向下执行到下一步
    iterator.next();

    for (let value of gen()) {
      console.log(value);
    }

  </script>
</body>

</html>